Part Number Hot Search : 
36ACP CPC19 RK39A1A OPB715 C3216X7 MBP20 P6KE10 BGA2771
Product Description
Full Text Search
 

To Download SC8800 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  vexta ? ? c opyright oriental motor u.s.a. corp ., 1999 SC8800/SC8800e stepping motor controller rs-232c compatible operating manual introduction .......................................................................... 1 system configuration ............................................................ 3 installation ............................................................................ 4 i/o connections .................................................................... 9 control language programming reference .......................... 14 instruction set ..................................................................... 25 appendix a quick start guide .......................................... 105 appendix b specifications ................................................. 106 appendix c dimensions ................................................... 108 appendix d trademarks ................................................... 110 appendix e transferring sequences ................................... 111 appendix f default values ................................................ 112 contents +3e3 hp-p003-1

i vexta ? table of contents introduction ................................................................................................................... ... 1 accessing the quick start guide .......................................................................................2 system configuration ........................................................................................................ 3 installation ................................................................................................................... ..... 4 electrical noise ............................................................................................................4 mounting the controller ..............................................................................................4 front view of the controller ........................................................................................5 wiring requirements for SC8800/SC8800e ..................................................................6 wiring precautions ......................................................................................................6 terminal or computer connection ..............................................................................7 rs-232c connection ...................................................................................................7 motor driver connection .............................................................................................7 controller indicator lamps ..........................................................................................8 i/o connections ................................................................................................................ 9 external i/o port ............................................................................................................. ...9 i/o circuit diagrams .......................................................................................................10 internal circuits for motor and driver i/o ..................................................................10 typical input connections .........................................................................................10 typical output connections ......................................................................................11 typical encoder connections (SC8800e only) ............................................................12 cabling for daisy chain configuration ......................................................................13 control language programming reference...................................................................... 14 section outline ............................................................................................................... 14 execution mode selection ...............................................................................................14 programing conventions .................................................................................................15 syntax .......................................................................................................................1 5 commands, variables and parameters .............................................................................15 commands ................................................................................................................15 variables ...................................................................................................................15 parameters .................................................................................................................16 conditional parameters ..............................................................................................16 using the immediate mode ............................................................................................17 using the program mode ................................................................................................18 rules for handling sequences ...................................................................................18 editor conventions ....................................................................................................18 using the editor .........................................................................................................19 using keyboard entry for variables .................................................................................20
SC8800/SC8800e operating manual ii start-up techniques ....................................................................................................... 20 unattended ............................................................................................................... 20 one step manual control .......................................................................................... 21 application sequences .................................................................................................... 23 instruction set ................................................................................................................ . 25 conventions ................................................................................................................... .26 instruction set commands .............................................................................................. 26 appendix a quick start guide ..................................................................................... 105 appendix b specifications ............................................................................................ 106 appendix c dimensions .............................................................................................. 108 appendix d trademarks .............................................................................................. 110 appendix e transferring sequences .............................................................................. 111 appendix f default values ........................................................................................... 112 list of figures figure 1: block diagram of stepping motor control system............................................. 1 figure 2: the SC8800/SC8800e controller ...................................................................... 2 figure 3: system configuration ........................................................................................ 3 figure 4: controller mounting hole positions and dimensions ........................................ 4 figure 5: controller orientations ..................................................................................... 5 figure 6: front view, controller connections and indicators ........................................... 5 figure 7: connections between the controller and the motor driver ............................... 7 figure 8: cn2 pin assignments........................................................................................ 9 figure 9: internal circuits for motor and driver i/o ....................................................... 10 figure 10: typical input connections .............................................................................. 10 figure 11: typical output connections ........................................................................... 11 figure 12: typical encoder connections (SC8800e only) ................................................. 12 figure 13: cabling for daisy chain configuration............................................................ 13 figure: 14 help screen 1 ................................................................................................. 50 figure: 15 help screen 2 ................................................................................................. 51 figure: 16 help screen 3 ................................................................................................. 51 figure: 17 help screen 4 ................................................................................................. 52 figure: 18 help screen 5 ................................................................................................. 52 figure: 19 speed/time profile for an absolute move ....................................................... 65 figure: 20 home hunting ................................................................................................ 68 figure: 21 speed/time profiles for (a) trapezoidal and (b) triangular index moves ......... 69 figure: 22 linear, parabolic and s-curve ramps ............................................................. 78 figure: 23 segment definition ......................................................................................... 78
introduction 1 vexta ? introduction the oriental motor (om) super vexta SC8800/SC8800e programmable pulse generators are specifically designed to be rs-232c compatible stand alone stepping motor controllers. they are optimized for use with the oriental motor super vexta stepping motor and driver packages. they may also be used with drivers from other manufacturers that accept ttl level step and direction inputs. figure 1 shows a block diagram of the stepping motor control system. figure 1 block diagram of stepping motor control system model SC8800e differs from model SC8800 by having an encoder input which is used for position verification. both models include a built-in control language which, with appropriate programming, allow the units to: ? operate as stand alone controllers in open or closed loop configurations ? be managed from a computer, ascii terminal or stand alone plcs ? perform as application specific control devices with embedded program management this comprehensive manual covers three major areas: ? installation procedures ? operation techniques and examples ? control language programming references the manual instructs you in precautions and proper practices for using this equipment safely. motor driver controller power supply ascii terminal or computer power supply
SC8800/SC8800e operating manual 2 introduction the SC8800/SC8800e programmable controller includes the following components: ? SC8800/SC8800e controller ( shown in figure 2 ) ? dual ended serial cable (part # rs2740) ? 37 pin din connector and housing ? this manual (part # hp-p003) figure 2 the SC8800/SC8800e controller inspect the components for shipping damage. report any damage to the carrier and to oriental motor usa. notify oriental motor if any components are missing or incorrect. accessing the quick start guide a quick start guide is in appendix a for users who are experienced in motor control systems and are cognizant of the electrical and mechanical precautions that must be observed. this guide instructs the user in quickly connecting the SC8800/SC8800e controller to: ? a stepping motor driver ? a power supply ? a terminal or computer it then directs the user into the first stages of using the interactive and programmable features of the unit. caution do not install or apply power to any equipment that is damaged.
system configuration 3 vexta ? system configuration a block diagram of the SC8800/SC8800e controller in a system configuration is shown in figure 3. figure 3 system configuration a description of how to connect the controller to a driver and motor, as well as to external control devices (i.e. plc's, encoders, limit switches), is included in this section. 5-phase driver udk5114nw-2 power tim o.h. run stop 2p/1p f/h a.c.o./off nc cn1 10 1 20 11 blue red orange green black nc nc motor l n 100 to 115 vac ! machine control limit switches ascii terminal stepping motor dc power plc control pwr busy cn1 +dc gnd 10-28 vdc +p/cw -p/cw +d/ccw -d/ccw computer or encoder feedback (SC8800e only) a channel b channel z channel
SC8800/SC8800e operating manual 4 installation installation installation areas for the controller (and associated motor and driver) should: ? be free from dust, oil mist, salt or corrosive gas. ? be free from excessive vibration or shock. ? have an ambient temperature range between 32 to 104 f (0 to 40 c). ? have humidity not exceeding 95%, noncondensing. ? have at least one inch (25 mm) of open space between the controller and adjacent items. special considerations: ? prevent contact between the controller and conductive material such as metal filings or pins. ? do not store or use in direct sunlight. electrical noise do not locate the controller near significant sources of electrical noise, such as high voltage lines, high voltage machines or switching-type power units. if this arrangement is not possible, insert noise filters in the source power lines or connect the controller to a separate circuit. mounting the controller the controller is designed to cool naturally by convection. figure 4 shows the controller mounting hole positions and dimensions. when fastening the mounting hardware, take care not to over torque the screws (bolts) to avoid cracking the controller housing. figure 4 controller mounting hole positions and dimensions 0.59 0.47 0.47 1.535 0.689 0.807 0.315 0.02 4.370 units = inches
installation 5 vexta ? figure 5 shows the proper mounting of the controller for horizontal or vertical installation. secure the controller to a mounting plate within the system configuration. the mounting plate should be at least one-eighth of an inch (2 mm) thick and be made of steel, aluminum or other material having good thermal conductivity. figure 5 controller orientations front view of the controller figure 6 shows the front panel of the controllers indicators and interface areas. figure 6 front view, controller connections and indicators horizontal vertical power led busy led external i/o connector cn2 dc input power cn4 +dc +10 to +28 vdc ground +p/cw + d/ccw - d/ccw - p/cw serial port cn1 db9 pin pin function 1not used 2 (tx) transmit 3 (rx) receive 4 not used 5 not used 6 ground 7 ground 8 ground 9 ground 1 2 3 4 5 6 7 8 9 pulse output cn3 dc input power cn4 +dc +10 to +28 vdc ground +p/cw - p/cw dc input power cn4 +dc +10 to +28 vdc ground
SC8800/SC8800e operating manual 6 installation the four connectors associated with the power and control functions are listed below. subsequent sections contain details concerning: ? the wiring of these connectors ? the controllers indicator leds wiring requirements for SC8800/SC8800e ? use twisted pair hookup wire with a minimum diameter of 24 awg for all signal control lines, and 18 awg for all power lines. ? strip no more than 0.2 inches (5.5 mm) of insulation from the lead wires to minimize the possibility of short circuits. ? prevent excessive vibration or shock. wiring precautions ? keep the signal lines as short as possible. ? keep the signal lines as far away as possible from power supply and motor lines. ? shield the motor lead wires with conductive tape or wire mesh if noise generated on the motor lead wires causes interference with the signal lines. ? always check the polarity of the dc power lines before turning on the power source. the SC8800/SC8800e controller should be connected to a +10 to +28 vdc power source, as shown in figure 6 on page 5 . function number of pins type optically isolated dc input power (cn4) 2 screw cinch terminals no terminal or computer (cn1) 9 rs-232c cable provided no pulse output (cn3) 4 screw cinch terminals yes external i/o (cn2) 37 din connector/housing provided yes warning be sure the installation conforms to any applicable nec, state and local codes.
installation 7 vexta ? terminal or computer connection the SC8800/SC8800e controllers can communicate with a host computer or a dumb terminal via an rs-232c port using standard ascii terminal emulation, vt100 mode. use the following terminal setup: ? baud rate = 9600 (transmit and receive) ? 8 data bits ? 1 stop bit ?no parity ? full duplex mode (transmit and receive independently) ? handshake = none (no hardware or xon/xoff protocol) ? cr translation = cr (carriage return only, no lf line feed) ? line wrap = on (not essential) further terminal screen recommendations: ? 80 columns ? 16 to 24 rows rs-232c connection controller serial rs-232c port cn1 is connected via the provided shielded cable to a terminal, as shown in figure 6 on page 5. the cn1 pin out is also listed in figure 6 on page 5. motor driver connection the SC8800/SC8800e controllers are connected to the driver module, as shown in figure 7. . figure 7 connections between the controller and the motor driver note other emulation modes may work, but some control commands (such as e sc or cr + lf) may work differently. note typical internal circuits for motor/driver i/o as well as all other input and output connections are shown in i/o circuit diagrams, beginning on page 10. stepping motor driver + pulse - pulse + cw/ccw - cw/ccw + p/cw - p/cw + d/ccw - d/ccw SC8800/SC8800e (cn3)
SC8800/SC8800e operating manual 8 installation controller indicator lamps figure 6 on page 5 shows the orientation of the controllers led indicator lamps. the power led lamp is green and the busy led lamp is amber. these indicators have the following properties: 1. upon applying power to the controller, the busy lamp will flash on for an instant, and the power lamp will turn on. 2. the busy lamp turns on during program execution. if a user wants to have an indication of motor movement during a program, a signal from output 1 or output 2 can be used to drive an external indicator. 3. both the power and busy lamps will alternately flash on and off to indicate a fault condition. if the controller encounters a problem, it can be with: hardware or firmware limit switches software limit parameters 4. when the fault has been cleared, the lamps revert to their normal modes.
i/o connections 9 vexta ? i/o connections external i/o port figure 8 provides an enlargement of the cn2 port with pin assignments grouped for the four major control activities. figure 8 cn2 pin assignments inputs 5stop + 24 stop - 12 start + 31 start - 11 input 1 + 30 input 1 - 10 input 2 + 29 input 2 - 9 input 3 + 28 input 3 - 8 input 4 + 27 input 4 - 7 timing + 26 timing - limit switches 6 home + 25 home - 13 cw limit + 32 cw limit - 14 ccw limit + 33 ccw limit - outputs 15 output 1 + 34 output 1 - 16 output 2 + 35 output 2 - 17 fault + 36 fault - 18 busy + 37 busy - encoder inputs (SC8800e only) 1 + 5 vdc 20 ground 2 channel a + 21 channel a - 3 channel b + 22 channel b - 4 channel z + 23 channel z - note: pin 19 not connected 37 19 20 1 cn2
SC8800/SC8800e operating manual 10 i/o connections i/o circuit diagrams internal circuits for motor and driver i/o figure 9 shows the internal circuits for motor and driver i/o. figure 9 internal circuits for motor and driver i/o typical input connections figure 10 shows the typical input connections. figure 10 typical input connections SC8800/SC8800e inputs the SC8800 maintains ten input connections. they are designated: input 1 programmable start dedicated input 2 programmable stop dedicated input 3 programmable cw limit dedicated input 4 programmable ccw limit dedicated timing dedicated home limit dedicated typical driver step and dir. input circuit step & dir. output circuit (1 of 2) totem pole output (non-isolated) max. current = 60 ma SC8800/SC8800e pulse width = 8 m s for f<50 khz pulse width = 40% duty cycle for f>50 khz +5 v (internal) tc1427 + - + - internal input circuit (1 of 10) opto isolated max. input current = 10 ma SC8800/SC8800e internal resistor (2200 w ) external resistor sink mode ext. pwr. gnd source mode logic sink driver vcc ext. pwr. 5 ~ 24 vdc + - + - ps2501-2
i/o connections 11 vexta ? inputs are: ? optically isolated ? activated by applying power ? programmable Cinputs can be read as high or low via software inputs support voltages from 5 to 30 vdc. input current must be limited to 10 ma maximum. if an application requires an input voltage greater than 28 vdc, the user must provide an external resistor. the external resistor value can be calculated from the following equation: (v in - 1.5 v) = (r external + 2200 w ) x (10 ma) an application using the start input is shown on page 21. typical output connections figure 11 shows the typical output connections. figure 11 typical output connections SC8800/SC8800e outputs the SC8800 supports four outputs. they are designated: outputs are: ? normally open ? in sinking output, open collector mode ? rated at 80 ma maximum current ? of a voltage specified range from 5 to 24 vdc ? set high (on) or low (off) via software output 1 programmable output 2 programmable fault status/dedicated busy status/dedicated internal output circuit (1 of 3) opto isolated max. load current = 80 ma rise/fall time: 100 m s max. SC8800/SC8800e typical output circuit + - + - ext. pwr. +5 ~ 24 vdc ext. pwr. gnd ps2502-2 load here load here or
SC8800/SC8800e operating manual 12 i/o connections typical encoder connections (SC8800e only) figure 12 shows typical encoder connections. figure 12 typical encoder connections (SC8800e only) 5 v encoder +5 v gnd ch x + ch x - other channels ch x + ch x - for single ended encoder leave ch x - open SC8800e controller external power source +12/+24 v encoder +12/+24 vdc gnd other channels open collector type only ch x + ch x - typical encoder input circuit (1 of 3) quadrature only +5 v (internal) fmax = 100 khz/line lm339 not used ch x + ch x - for single ended encoder leave ch x - open SC8800e controller typical encoder input circuit (1 of 3) quadrature only supply current = 150 ma max. +5 v (internal) fmax = 100 khz/li ne lm339
i/o connections 13 vexta ? cabling for daisy chain configuration when a systems serial operator interface is connected to more than one SC8800/SC8800e, the controllers are organized in a string referred to as a daisy chain. ? daisy chain cabling is a customer furnished item. ? all wiring requirements must be observed. see wiring precautions on page 6. ? up to 35 controllers can be managed via a single terminal. ? the proper cabling technique for a daisy chain configuration is shown in figure 13. figure 13 cabling for daisy chain configuration 9 tx 2 3rx 1 4 5 6 7 8 computer or ascii terminal 9 tx 2 3rx 1 4 5 6 7 8 9 tx 2 3 rx 1 4 5 6 7 8 unit a unit b unit n tx rx gnd gnd
SC8800/SC8800e operating manual 14 control language programming reference control language programming reference the SC8800/SC8800e contains within its onboard firmware: ? extensive control language with an instruction set for motor/driver system management ? interactive ability to execute keyboard input commands received via a serial communications link ? complete editor for creating, storing, modifying, copying or deleting control programs ? transparent execution module for performing the stored programs section outline this section contains: ? execution mode selection ? programming conventions ? using the interactive immediate mode ? using the program mode with the embedded editor ? using keyboard (kb) entry for variables ? programming application examples ? instruction set elements of the instruction set include: ? motion commands ? variables ? parameters ? dedicated keystroke entries details concerning the instruction set are as follows: ? a directory of commands is on page 25 ? conventions used in describing commands are on page 26 ? a description of each command begins on page 27 execution mode selection SC8800/SC8800e controllers operate in either of two modes, immediate or program mode. immediate mode ? the controller executes commands received via the serial port (cn1) by keyboard entry from an ascii terminal or computer. ? the controller initiates actions immediately, except if it is already executing a program. ? 18 commands are used exclusively from the keyboard in immediate mode. instructions for using the immediate mode begin on page 17.
control language programming reference 15 vexta ? program mode ? a sequence is created, altered or deleted using the embedded editor. ? commands in a sequence are executed one at a time until the last one has finished. ? 16 commands are used exclusively by the editor in program mode. instructions for using the program mode embedded editor begin on page 18. programing conventions programming conventions used with the embedded editor for program mode, or with a terminal for interactive control in immediate mode, are as follows: syntax ? commands are not case sensitive. ? a space or semicolon must separate multiple commands that are entered on the same line. ? a space may be used to separate commands followed by a digit field. ? parameters that accept decimal values are fixed at three decimal places; additional decimal digits are ignored. ? leading zeros of integers are ignored. commands, variables and parameters commands ? commands cause the controller to perform an activity. three ways to implement command elements ? from the keyboard in immediate mode ? by the editor in program mode ? from the keyboard (kb), in a hybrid mode, utilizing the kb interactive property as described on page 20. variables ? variables hold information that define or report the state of the system. ? the SC8800/SC8800e control language provides four general purpose long integer variables: w, x, y and z. ? these variables may be used in conjunction with the instruction set specific variables pc, ec, v, vs, loop, d, cp or any constant within the range 2,147,483,647. note thirty-six commands are used in both the immediate and program modes. note the underscore character ( _ ) is used for clarity in this document to indicate a space between words or characters. it must not be used in sequences or in keyboard command entries.
SC8800/SC8800e operating manual 16 control language programming reference arithmetic operations with variables ? limited to only two terms at a time ? valid arithmetic operators are: + , - , * , / or % (modulus) examples of arithmetic expressions are: parameters ? parameters are used to qualify elements of the instruction set. conditional parameters ? conditional parameters perform a comparison of two terms. they must be enclosed in a pair of parentheses. ? conditional test parameters have the form: (variable 1 {conditional} variable 2 or constant) the item appearing to the left of the conditional must be a variable. the item on the right of the conditional can be a variable or a constant. valid conditionals are: valid variables for conditional testing within the control language are: x = 100 set x to 100, this is an assignment x = x +1 increment x as a counter by 1 y = x / w calculate y from x and w z = pc set z to the current value of the position counter = equal to != not equal to < less than <= less than or equal to > greater than >= greater than or equal to in 4 programmable input bits (condition must always be = or ! = ) pc p osition c ounter value ec e ncoder c ounter value cp compare encoder and position counter values to c heck p osition v velocity d distance w, x, y, z general purpose variables
control language programming reference 17 vexta ? conditional testing makes decisions for the program when branching inside a program using conventional if, else, endif statements, as well as while and endw loop commands. examples of conditional testing are: using the immediate mode the SC8800/SC8800e manages a stepping motor control system by keyboard entry, utilizing rs-232c serial communications between an ascii terminal or a computer, and the controller. some examples of this operating mode are described below. if (in = xx01) check for input #2 off and #1 on if (pc > 200000) check for position counter greater than 200000 if (pc < -45000) check for position counter less than -45000 while (x!= 1000) while x is not equal to 1000, loop while (pc single keystroke erases last character in system buffer single keystroke discards the current line and returns a system prompt to display single keystroke completes the line input and causes system to accept current line information talkc makes logical connection to unit c in a daisy chain configuration note no special or external editors are required to program the SC8800/SC8800e.
SC8800/SC8800e operating manual 18 control language programming reference using the program mode the program mode employs an embedded editor with 8 kilobytes of nonvolatile memory available for creating and storing sequences. rules for handling sequences ? sequences are identified within the system by number. ? up to 50 sequences (0 to 49) can be stored and accessed via the rs-232c port. ? only sequences identified as 0 through 15 are accessible from a plc, for example, via the programmable inputs in conjunction with the dedicated start input signal. (see start-up techniques on page 20.) ? indirect access to sequences 16 through 49 are made by using the call or jmp seq commands. ? sequences are designated utilizing the following conventions: user assigns a number from 0 to 49. user assigns an alphanumeric name of up to eight characters. ? subsequently, user-named sequences are automatically assigned numbers by the system. editor conventions ? the editor will generate line numbers automatically within a sequence. ? syntax errors are not checked until the sequence is executed. ? when programming a new sequence, the editor prompts the user with the following message: empty.. direct insert mode (esc/q=exit) ? data is entered line by line with the < enter > keystroke terminating each line. ?an < esc > or q keystroke terminates the sequence and exits the edit mode. ? a current sequence is automatically saved when the user exits the edit mode. there are three editor line commands: ? ax or altx to alter the previously entered line x. ? ix or insx to insert new data; it has two forms: insert a new line between existing lines of a sequence. insert a new line as the final line of a sequence. if insert is selected and the last line number is used, the editor will automatically begin inserting new line numbers as required. ? dx or delx to delete the previously entered line x.
control language programming reference 19 vexta ? using the editor the edit command is invoked to enter the editor in order to create or modify a sequence. two examples for using the editor are shown below. prerequisite: system memory currently does not contain a sequence assigned as 5 . sequence 5 has been programmed and saved to system memory. it is available for execution when invoked by a run command or start input if sequence 5 is selected by input. prerequisite: system memory currently contains a sequence assigned as 9 . sequence 9 can now be modified. when the user exits the editor, the modified sequence will be automatically saved. example 1 create a new sequence which is to be designated 5 by the programmer. keyboard input system response comment edit_5 seq.5: empty..direct insert mode. (esc/q=exit) user has entered the editor mode; system indicates that seq. 5 is available for input pc0 (1) pc0 sets position counter to zero ta2 (2) ta2 sets acceleration time to 2 seconds td2.3 (3) td2.3 sets deceleration time to 2.3 seconds vs500_v5000 (4) vs500_v5000 sets velocity parameters d15000 (5) d15000 sets distance to 15000 steps mi (6) mi executes an index move q exits the editor mode example 2 alter an existing sequence designated as 9 . keyboard input system response comment edit_9 seq. 9: user has entered the edit mode; system indicates that seq. 9 exists and displays three lines of code (1) vs100_v10000_t.25 (2) d10000 (3) mi select ax, ix or dx (alt/ins/del/q=exit) system asks for action of inserting, deleting or exiting >>command: command prompt awaiting input
SC8800/SC8800e operating manual 20 control language programming reference using keyboard entry for variables sequences have an interactive property which allows program variable values to be introduced from the keyboard while the sequence is running. conditions for keyboard entry of variables are: ? sas command is used to prompt the user for value to be entered ? only numeric values are permitted ? ranges of variables remain the same integer variables w, x, y, z= 2,147,483,647 any decimal place values are discarded ? pressing the < esc > key with or without preceding values is interpreted as 0 ? pressing < enter > or < cr > with no preceding value is interpreted as 0 format examples for keyboard entry of variables are: a sequence example is shown below: start-up techniques there are three approaches for automatically starting system operations: ? unattended under the config program control, no input is required. ? unattended under the config program control, requiring a signal from one or more inputs. ? one step manual control using the start input initiates program execution. unattended to implement a totally unattended start-up, the programmer utilizes a special sequence named config. the start-up plan is as follows: ? immediately upon receiving power, the controllers firmware looks for config in the nonvolatile memory. ? if this sequence exists, it is executed. x=kb x takes the integer value entered from the keyboard y=z+kb y equals z plus the value entered from the keyboard example (5) sas enter number of boxes to build today: \0 prompt message asks user to enter desired number; \0 suppresses crlf at end of ascii string leaving cursor on same line containing message (6)x=kb get input from keyboard, assign it to x note the kb interactive property has an extended capability. information can be delivered to the controller from a touch screen, a plc or any external device that generates ascii characters via the rs-232c port.
control language programming reference 21 vexta ? the config sequence can be programmed to contain all the starting parameters and motion commands required to begin system activities. however, a preferred technique is to insert a single call statement in the config sequence. the called sequence contains all the parameters and commands for start-up. see sequences config and bob shown below. if the called sequence contains conditional input statements, then the start-up action can be synchronized with the status of up to 16 sequences. see sequences config and mike shown below. one step manual control to implement automatic start-up by utilizing the start input, the programmer utilizes the controllers dedicated link between the four programmable input lines and the reserved sequences #0 through #15. the start-up method is as follows: ? upon power up, the controller checks the status of inputs 1 through 4. ? it determines the decimal integer number equivalent to the binary status of the inputs. ? it looks in the nonvolatile ram memory to find a sequence with a matching number. ? if a sequence number match is found, it is executed immediately when the start input is closed. seq. config (1) call bob execute sequence named bob at power up or reset seq.31 bob (1) d1000 h+ set the distance and direction parameters (2) vs100 v5000 set the velocity parameters (3) mi execute an index move seq. config automatic program activated at power up or reset (1) call mike execute sequence named mike at power up or reset seq.23 mike sequence 23 named mike (1) loop infinite loop (2) if(in2=1) look to see if input 2=1 (on) (3) mgh go home (4) else if input2 is not=1, do nothing (5) endif end the statement of infinite loop (6) endl end statement of infinite loop
SC8800/SC8800e operating manual 22 control language programming reference depending upon the status of the inputs, this method allows up to 16 different start-up routines to be initiated. for reference, the possible input states and the corresponding sequence numbers are shown below. input states equivalent binary input equivalent sequence number (decimal) 4321 0 0 0 0 0000 0 0 0 0 1 0001 1 0 0 1 0 0010 2 0011 0011 3 0 1 0 0 0100 4 0 1 0 1 0101 5 0110 0110 6 0111 0111 7 1 0 0 0 1000 8 1 0 0 1 1001 9 1 0 1 0 1010 10 1011 1011 11 1 1 0 0 1100 12 1 1 0 1 1101 13 1110 1110 14 1 1 1 1 1111 15
control language programming reference 23 vexta ? an example of this form of automatic start-up is shown below. it illustrates a situation where two completely different types of moves can be selected based upon the status of input 1 and 2. application sequences to illustrate application specific sequences, the following two examples describe which sequences are used for closed loop position control. they employ the cp ( c heck p osition ) command. seq. config (empty) automatic program activated at power up or reset no information, so no execution from here seq.1 sequence 1 executes when input 1=1 and start input activated (1) d1000 h+ sets distance and direction parameters (2) vs100 v5000 sets velocity parameters (3) mi executes an index move seq.3 sequence 3 executes when input 1 & 2=1 and start input activated (1) d2000 h+ sets distance and direction parameters (2) vs100 v5000 sets velocity parameters (3) mi executes an index move example 1 record the largest position error in both positive and negative directions. seq.main: (1) x=0 y=0 initialize x and y (2) loop100 (3) d50 mi (4) delay.05 make sure that the motor settles (5) call sub get encoder value from seq. sub (6) endl (7) x? y? print values of x and y seq.sub: (1) z=cp capture signed value of cp (2) if ( x < z) x=z update maximum positive direction error (3) endif (4) if ( y > z) y=z update maximum negative direction error (5) endif (6) ret return to main
SC8800/SC8800e operating manual 24 control language programming reference background: the cp ( c heck p osition ) command returns the error in motor steps by computing the difference in encoder c ounter (ec) and p osition c ounter (pc) values using the following formula: cp= + difference (motor steps)=(ec * mr/er)-pc where: mr = motor resolution er = encoder resolution note the cp command returns a signed number in most cases except for when it is used in conditional branching. inside the conditional brackets, cp returns an absolute value. the absolute value allows for a more simple operation of looking for a dead band range of + x steps. example 2 closed loop step motor with an error band of + 5 steps. seq.cloop: subroutine check encoder error (1) if (cp >5) error allowable is + 5 steps, cp=abs (cp) (2) x=d (3) d=cp get the step difference (signed) (4) mi make the correction move (5) sas *** extra motion to correct step error (6) endif done (7) ret return to main note in this example, d can also be operated like a variable x with one exception: when d is assigned to the variable x, the sign bit of x is used to modify the direction bit to provide the correct direction of travel for the error correction. likewise, when x is assigned to d, it also takes the direction bit into account.
vexta instruction set 25 ? vexta instruction set 25 ? instruction set directory call ......................................... 27 chkmem ................................ 28 clr ......................................... 29 clr_nvr ................................ 30 cont ...................................... 31 copy ...................................... 32 cp ........................................... 33 d ............................................. 34 delay ..................................... 35 del ......................................... 36 dir .......................................... 37 dscale ................................... 38 ec ............................................ 39 echo ...................................... 40 edit ........................................ 41 else ......................................... 42 end ........................................ 43 endif ...................................... 44 endl ....................................... 45 endw ..................................... 46 er ............................................ 47 ev ............................................ 48 h ........................................................49 help ....................................... 50 id ............................................ 53 if ............................................. 54 in ............................................ 55 inv .......................................... 56 io ............................................ 57 jmp .......................................... 58 jmp_seq ................................. 59 kb ........................................... 60 lim .......................................... 61 list ......................................... 62 lock ...................................... 63 loop ...................................... 64 ma .......................................... 65 mc ...........................................66 mgh ........................................67 mi ............................................69 mr ...........................................70 mt ...........................................71 ol ............................................72 out .........................................73 pause ......................................74 pc ............................................75 pulse ......................................76 r ..............................................77 ramp .......................................78 rem .........................................79 reset .......................................80 ret ..........................................81 run .........................................82 s ...............................................83 sas ..........................................84 stop ........................................85 sys ...........................................86 t ..............................................87 ta ............................................88 talk ........................................89 td ............................................90 tim ..........................................91 tr ............................................92 unlock .................................93 v ..............................................94 vs ............................................95 vscale ....................................96 while .....................................97 w, x, y, z ................................98 / ...............................................99 \ .............................................100 ..................................101 ...............................102 .....................................103 keyword page keyword page
SC8800/SC8800e operating manual 26 instruction set conventions instruction set commands the instruction set for the SC8800/SC8800e is described on pages 27 through 103. indicates from which lists the format of the mode or modes the command can be command including special cases describes the parameter values provides limits of a parameter value a discussion of the command usage keyboard input to interrogate the controller an example of query usage and the response lists other commands that alter this command lists commands altered by this command program line keyword or mnemonic executed command for the value of the as shown on terminal of the command is highlighted of command v motion variable specifies the run velocity execution mode syntax units range description immediate and program v number steps per second 1 to 800,000 specifies the velocity to use when executing move commands: v? 0>v? 0: v=30000 interactions example modified by: vscale modifies: ma, mc, mgh, mi command category all moves start at the value of vs and then accelerate to v at the summary description shows usage ma, mc, mgh and mi rate set by parameters t or ta. 0> query/response command description seq. 5 (1)v3000 vs500 set velocity parameters (2)h- set direction to ccw (3)d9000 set distance to 9000 steps (4)sas begin motion send string begin motion to display (5)mi execute an index move (6)sas end of move send string end of move to display
instruction set 27 vexta ? calls another sequence into the active program sequence call program control element execution mode program syntax call sequence units any stored sequence description brings another sequence into the active sequence as a subroutine. upon reaching the end of the subroutine, the program returns to the point of the previous sequence from which it left. note particularly useful in autostart mode with config file. example command description seq. 5: (1) pc0 set the position counter to zero (2) mi do an index move (3) call test execute sequence named test (4) sas im back echo return to original sequence seq. test: (1) out1=1 turn on output #1 (2) delay2 delay 2 seconds (3) out1=0 turn off output #1 (3) ret return to sequence 5
SC8800/SC8800e operating manual 28 instruction set reports the amount of available memory chkmem editor command execution mode immediate syntax chkmem units bytes free description keyboard entry command that returns the amount of memory space available in nonvolatile ram. query/response u>chkmem xxxx bytes free example command description u>chkmem view available memory
instruction set 29 vexta ? clears parameter display loop clr program control element execution mode immediate and program syntax clr description turns off the parameter display loop. example command description seq. 3: (1) pc/ view position counter value (2) delay2 delay 2 seconds (3) clr turn off display loop
SC8800/SC8800e operating manual 30 instruction set removes the contents of nonvolatile ram memory clr_nvr editor command execution mode immediate syntax clear_nvr are you sure? (y/n) description removes the contents of nonvolatile ram. all stored sequences and variable values will be cleared. the clear_nvr command will restore all parameters to their factory default values. refer to appendix f, default values on page 112 for the actual default values. the system will prompt the user for verification before actually clearing the nonvolatile ram. example command description u>clear_nvr clear the ram memory are you sure? (y/n) prompt for verification
instruction set 31 vexta ? continues a program after an interruption in a sequence cont motion command execution mode immediate syntax cont description restarts a motion or program after a stop input has been received or after a pause, s or command has been executed. the remaining portion of the interrupted command is executed. example command description u>d100000 mi execute the index move u>stop input stop input is issued u>pc? check position counter value 0> 2696 value of position counter u>cont continue the stopped sequence; motor will complete move (100,000 - 2,696 = 97,304 steps)
SC8800/SC8800e operating manual 32 instruction set makes a copy of a sequence copy editor command execution mode immediate syntax copy seqname1 seqname2 where: seqname1 is the source sequence name seqname2 is the destination sequence name description makes a copy of a sequence. the original sequence will still exist in memory. if the destination sequence name already exists, a query message, overwrite (y/n ), is displayed to prompt the user for confirmation. examples command description u>copy_5_10 copy sequence #5 to sequence #10 u>copy_test1_test2 copy sequence test1 to sequence test2
instruction set 33 vexta ? compares values of the encoder and motor position counters (SC8800e only) cp system control command execution mode immediate and program syntax cp units motor steps range 0 to + 9,999,999 description compares the values of the encoder counter and the motor position counter. each time the cp command is issued, the following equation is executed to determine the value of cp. cp = difference in motor steps = (ec * mr/er) - pc where: ec = encoder counter value mr = motor resolution in steps er = encoder resolution (quadrature value) pc = position counter value note the cp command can be used as part of a conditional expression. the cp command normally returns a signed number. however, when used in a conditional expression, only the absolute value is returned. query/response cp? u>cp? u:cp=number interactions modified by: er, mr, pc, ec example command description u>mr500 set motor resolution to 500 steps u>er2000 set encoder resolution to 500 x 4 counts/rev u>pc0_ec0 set counter values to zero u>d2000_mi execute an index move u>cp? check the position error cp= - 1 indicates that the counter values are off by 1 step.
SC8800/SC8800e operating manual 34 instruction set sets the distance to move for the mi move command d motion variable execution mode immediate and program syntax d+ number units pulses range 0 to 9,999,999 description determines the distance to be moved for the mi move command. the h command determines the direction of movement. the d+ command also modifies the direction of the motor. query/response d? u>d? u: d= 0 u> interactions modifies: mi modified by: h, dscale example command description u>d2000 set distance to 2000 steps u>h_mi execute a cw index move u>d-8000 set distance to 8000 steps in the ccw direction u>mi execute a ccw index move
instruction set 35 vexta ? delays command execution delay program variable execution mode program syntax delay number delay (integer variable - w, x, y, z) units seconds range 0.001 to 99,999.999 seconds description causes the controller to wait a specified number of seconds before executing the next command. the value of the delay interval can be defined in a sequence. note only used in program mode, not applicable to immediate mode. query/response delay? u>delay? u: delay=number example command description seq. 3: (1) mi execute an index move (2) delay5.3 delay 5.3 seconds (3) mgh return to the home limit switch
SC8800/SC8800e operating manual 36 instruction set deletes a sequence from nonvolatile memory del editor command execution mode immediate syntax del_seqname units seqname = sequence name = sequence number or alphanumeric name range if number, 0 to 49 if an alphanumeric filename, a to z, 0 to 9, up to 8 characters description removes a program sequence from nonvolatile ram. the system will request confirmation of the del action. a deleted file cannot be recovered. example command description u>list list the stored programs u>del_test1 delete the program test1 from memory u>are you sure? y/n request confirmation
instruction set 37 vexta ? lists the name and size of stored sequences dir editor command execution mode immediate and program syntax dir description lists name and size of all currently stored files in memory. the dir command is the same as the list command when list is not followed by a sequence name. query/response dir? u>dir 0>dir sequence directory config seq. 1 seq.26 test2 27 bytes 17 bytes 202 bytes seq.25 test seq.27 qq 268 bytes 56 bytes * 6843 bytes free
SC8800/SC8800e operating manual 38 instruction set scales the move distance variable dscale motion variable execution mode immediate and program syntax dscalexx units pulses (or as redefined by dscale) range 0 to 2,147, 000, 000 description parameter that scales the distance to be moved for the mi move command. the value for dscale can represent other useful application variables such as revolutions/inch or steps/foot. note the internal distance, in steps, is calculated by the following equation: d (steps) = d (input) * dscale query/response dscale? 0>dscale? 0: dscale=0 0> interactions modifies: mi, ma, pc/ modified by: mt example command description u>dscale500 set dscale = the motor resolution (motor resolution is 0.72 /step or 500 steps per revolution.) u>d1 set distance to 1 revolution u>mi motor will move 1 revolution
instruction set 39 vexta ? sets the internal encoder pulse counter (SC8800e only) ec system variable execution mode immediate and program syntax ecxxx units encoder pulses range 2,147, 000, 000 description sets the internal encoder pulse counter to any value within range. query/response ec? 0>ec? 0: ec = 2000 0> interactions modifies: cp modified by: er example command description u>ec0 set the encode counter to zero u>d2000 set the distance parameter to 2000 steps u>mi do an index move u>ec? what is the encoder value
SC8800/SC8800e operating manual 40 instruction set echos rs-232c commands echo editor command execution mode immediate and program syntax echo n range 0 = off; 1 = on description suppresses the display of any characters being sent to the screen. caution if the echo is turned off when more than one controller is used in a daisy chain configuration, the chain is broken and communication is lost. query/response echo? 0: echo= 1 0> example command description u>talk1 talk to unit #1 u>echo0 turn off the echo
instruction set 41 vexta ? enters the sequence edit mode of the embedded editor edit editor command execution mode immediate syntax edit xxxxxxxx range ascii characters description enters the edit mode where sequences are created or modified. when leaving the edit mode, a sequence is automatically saved. sequences may be named in one of three formats (listed below in highest to lowest priority): 1. number only 2. number + sequence name (up to 8 characters, excluding the preceding numbers) 3. alphanumeric sequence name only (up to 8 characters) the first 16 sequences, from #0 to #15, are executable from the external i/o. sequence numbers may not be duplicated. if no sequence number is present, the controller assigns the next available number, beginning from sequence #25. from that point on, that particular sequence can be referred to by either its sequence name or sequence number. internal sequence numbers are allocated by the editor. there are three editor line commands: ? ax or altx to alter the previously entered line x ? ix or insx to insert new data; it has two forms: insert a new line between existing lines of a sequence insert a new line as the final line of a sequence if insert is selected and the last line number is used, the editor will automatically begin inserting new line numbers as required. ? dx or delx to delete the previously entered line x interactions modified by: del, clear_nvr, copy examples command description u>edit 25 create (or modify) sequence # 25 u>edit om create sequence om, #26 is assigned u>edit 3test create (or modify) sequence 3test
SC8800/SC8800e operating manual 42 instruction set else program control element execution mode program syntax else description branches to an alternate operation if the conditional if is not true. interactions modifies: if, endif example command description seq.5: (1) if(in=0001) if input #1 is on and others are off (2) ma0 return to 0 position (3) else branch on not true (4) mgh go home (5) endif end of conditional statement
instruction set 43 vexta ? program end statement end program control element execution mode program syntax end description the end statement will terminate its associated program from anywhere it is detected; e.g. it is not required to be the last line for proper sequence execution. note there are two reasons for using end: ?debugging ? documentation example command description (1) mi execute an index move (2) delay 5.3 delay 5.3 seconds (3) end exit the sequence (optional) (4) mgh this line is ignored
SC8800/SC8800e operating manual 44 instruction set completes an if program segment endif program control element execution mode program syntax endif description indicates the completion of a conditional if statement. interactions modifies: if, else example command description seq.5: (1) if(in=0001) if input #1 is on and others are off (2) ma0 return to 0 position (3) else branch on not true (4) mgh go home (5)endif end of conditional statement
instruction set 45 vexta ? completes a program loop segment endl program control element execution mode program syntax endl description indicates the end of a loop segment of a sequence. interactions modifies: loop example command description seq. 5: (1)loop 50 loop the following 50 times (2) mi do an index move (3)endl end the loop
SC8800/SC8800e operating manual 46 instruction set completes a while program segment endw program control element execution mode program syntax endw description indicates the completion of a while conditional segment of a sequence. interactions modifies: while example command description seq. 5: (1)while (in=0001) while input #1 is on (2) mi do index moves (3)endw end of conditional statement
instruction set 47 vexta ? sets the encoder resolution (SC8800e only) er motion variable execution mode immediate and program syntax er units number of encoder quadrature pulses per motor shaft revolution. quadrature refers to number of counts that the controller receives per encoder line. range 0 to 65,535 description sets the resolution of the encoder that is used with the system. note the er command is required for the SC8800e to work properly in conjunction with the motor resolution (mr) and check position (cp) commands. when no encoder is used, mr and cp are not valid. query/response er? 0>er? 0: er= 2000 0> interactions modifies: cp, mr example command description u>er2000 500 lines per revolution; 4 x 500 = 2000 u>d8000 set distance to 8000 steps u>mi execute an index move u>cp? check position error
SC8800/SC8800e operating manual 48 instruction set turns on event outputs on the fly ev system control command execution mode immediate and program syntax evn outx=n @txx.xx or @dxxxxxxxx or @vxxxxxx units ev1 = event #1; ev2 = event #2 outx=nx = 1, 2 or 3; n = 0 (off) or 1 (on) @txx.xxx event trigger, using time. time interval starts at beginning of motion. @dxxxxxxxx event trigger, using distance. distance interval in motor steps starts at beginning of motion. @vxxxxx event trigger, using velocity. valid when velocity is accelerating or constant. not valid when velocity is decelerating. note evn 0 is used to clear the event parameter. clearing the event parameter does not clear or reset the outputs themselves. range 1 to 2 description turns on outputs on-the-fly based on the occurrence of up to 2 events. once the event parameters have been declared, they remain active until they are invalidated by the evn 0 command. query/response ev? 0>ev? 0: ev1 out1=1 @t2 0: ev2 out=110 @d5000 interactions modified by: evn 0, dscale, vscale example command description u>ev1 out2=1 @v8000 turn on output#2 when reach rate of 8000 steps/sec u>ev2 out1=1 @t2 turn on output#1 at interval of 2 seconds u>mc execute a continuous move u>ev1 0 ev2 0 clear events number 1 and 2
instruction set 49 vexta ? sets motion direction h motion variable execution mode immediate and program syntax h {nil|+| - } range + = cw; - = ccw description sets the direction of rotation of the motor shaft. during a continuous move (mc) the h command is used to change motor direction on-the-fly. query/response h? 0>h? 0: h= + 0> interactions modifies: ma, mc, mgh, mi, mt modified by: d, v example command description u>v2000 t1 h+ set motion parameters u>mc execute a continuous move u>v-1000 change speed and direction u>mc execute changes u>h+ change direction back to cw
SC8800/SC8800e operating manual 50 instruction set requests system help screens figure 14 help screen 1 help editor command execution mode immediate syntax help [{nil|1|2|3|4|5}] help = help1 = display all the commands help2 = display help for the motion elements help3 = display help for the system elements help4 = display help for the programmable elements help5 = display help for new functions description displays 1 of 5 help menus. the first screen is an abbreviated list of all the elements in the instruction set. screens 2 through 5 are grouped by function and provide a summary of the elements. query/response help? u>help [{nil|1|2|3|4|5}] see figure 14 through figure 18 below. * command list mnemonics. (also see help2, help3, help4, help5) ( x= digit field. []= optional) call x chkmem cont copy x y clear nvr clr cp d x[.x] dscale x delay x.x del x dir edit n ec +/-x echo n else endif endl endw end er x ev n.. help x h+/- id x if(..) inx=x in=x inv x jmp x jmp seq x kb lock x list [x] loop [x] lim x1 x2 mgh ma +/-x mc mi mr x mt x.x outx=x out=x ol xxxx pause pc+/-x pulse x r ramp x ret reset run x s stop sas sys ta x.x td x.x t x.x tim n talk x tr n v x[.x] vs x[.x] vscale while(..) x= y= z= w= ec/ pc/ cp/ v/ io/ # or rem \ 0>
instruction set 51 vexta ? figure 15 help screen 2 figure 16 help screen 3 * command list 2. vsx[.x] : start velocity. v x[.x]: final velocity. ta x.x : accel time(sec). td x.x: decel time(sec). t x.x : accel/decel time. mt x.x: total move time(auto). d x[.x] : index distance. d+/ - x: distance with direction. h+/ - : direction cw/ccw. ramp n: 0=linear,1=s-curve,2=parabolic. mi : move incremental. ma+/ - x: move absolute. mc : move continuous. mgh: move go home. s (esc) : stop with decel. cont: continue after a stop. dscale : distance multiplier.stop : hard stop, no decel. timxx : timing signal and home sw. vscale : velocity multiplier. pulsex : set pulse mode. 1=1p 2=2p invx : invert step output (1p mode) pc+/ - x : position counter set. ec+/ - x : encoder counter set. cp : evaluate position error:(ec*mr/er) - pc mr x : motor resolution.(used w/cp only) er x : encoder resolution.(used w/cp only) lim x1 x2 : software position limit.(x1 * command list 3. outn=x : set 1 output bit. out=xxx : set output bits. olxxxx : invert output bits. idx : set unit id code(0-9, a-z) id* : same as id0 w/0: suppressed. talkx : enable communication to unit x. \ : global command(bypass id code). r : report system status. sys : report operating time. tr x : program execution trace(0-1) clear nvr : clear user storage memory. list x : list sequence content. dir or list : list sequence directory. editx [name] : create or alter a sequence. del x [name] : delete sequence. run x [name] : run sequence. clr : clear error or display loop copy x y: duplicate sequence. x=source, y=destination pc/ ec/ cp/ v/ io/: variable display loop. evn outx=n @tx (or @dx/@vx): output on the fly.(2max) 0>
SC8800/SC8800e operating manual 52 instruction set figure 17 help screen 4 figure 18 help screen 5 * command list 4. (sequence control) call x : call sequence subroutine. delay x.x : delay time. delay var : delay using variable x, y..(t=milli-sec) jmp x : jump to a sequence line number. jmp seq x : jump to a new sequence. sas : send asc string. if(cond) : conditional branching. else : alternate branching when if=false endif : end of if..(else) body. loop x : loop count.(no digit=infinite loop) endl : end of loop body. while(cond): loop while condition =true. endw : end of while body. end or ret: sequence end or return(optional). # or rem : remark. inn=x in=xxxx : input conditional for if/while. x y z w =x : long integer variables. -(conditional): applied to in= in!=. others: x,y,z,w,pc,ec,d,v or constant can be used in either term using relational operator = != > > = < < = -two terms math can be applied to all vars above using + - * / % 0> var = kb : get input from serial port. var may be x, y, z or w. exp. y=kb sas ..\.. : \0: suppresses crlf : \x \y \z \w: print variable value within sas string
instruction set 53 vexta ? sets the selected unit to the desired identification id system control command execution mode immediate syntax idx range 0 to 9, a to z, * description this command has two usage modes: ? when more than one controller is planned for daisy chain configuration, the command must be used at installation time. this will initialize each unit by setting it to its appropriate identification number. ? when a single controller is used, command id* can suppress the id number from the screen display. only the prompt (>) is shown. to return to the previously displayed prompt, type idx . note when in a daisy chain mode: ? if a controller has an id other than 0, it will not display the sign on banner at power-up or after a software reset. ? talkn command must be used to establish communication between the host and the selected unit. ? a backslash character (\) preceding a command assigns it as a global command, overriding the need for a talk command. ? a maximum of 35 units can be supported in a daisy chain. query/response id? 0>id? 0: id = 0 0> >id? id = * > example command description u>idc set to unit c u>talk c talk to unit c c>mgh go home c>id* suppress the id print code > only the prompt is displayed now
SC8800/SC8800e operating manual 54 instruction set initiates a conditional testing program segment if program control command execution mode program syntax if (variable 1 {conditional operator} variable 2 or constant) description provides branching to: ? other sequence lines, or ? other sequences valid properties for using the if statement are: ? program segments must be completed with an endif statement ? an if..endif segment may be nested up to 4 times ? an else statement may be used in the segment valid conditional operators are: = != < <= > >= equal to not equal to less than less than or equal to greater than greater than or equal to valid variable elements are: in pc ec cp v d w, x, y, z 4 programmable input bits (condition must always be = or !=) position counter value encoder counter value compare encoder and position counter values velocity distance general purpose variables example command description seq. 7: (1) if (pc>25000) if position counter is > 25000 steps (2) sas error! reset echo message (3) mgh return to home position (4) else or (5) sas everything ok echo message (6) endif end of the if statement
instruction set 55 vexta ? defines a programmable input in system control command execution mode immediate and program syntax the in statement has two forms: ? in=xxxx (global - test each bit simultaneously) ? inx=n (single - test bit separately) inputs are numbered with the following convention: range x = 1 to 4 n has three possible states: 0 = off 1 = on x = dont care description the in statement has two application areas: ? select a sequence to execute at power-up ? conditional testing in if or while statements note valid sequences for power up are 0 to 15. example command description seq. 8: (1)sas press start notify user to press start (2)if(in4=1) if input #4 is on (3) mgh go home (4)else if input #4 is not on (5) while(in2=1) while input#2 is on (6) mi execute an index move (7) endw end the while loop (8)endif end the if condition in4321 1 = programmable input #1 2 = programmable input #2 3 = programmable input #3 4 = programmable input #4
SC8800/SC8800e operating manual 56 instruction set inverts step pulse output inv system control command execution mode immediate and program syntax inv n range 0 = active high (default) 1 = active low description inverts the logic level of the step pulse output. three characteristics of inv are: ? command is valid when the controller is in the 1-pulse mode ? command is not valid in the 2-pulse mode ? value of the parameter is saved in nonvolatile memory note pulse mode definitions are: ? 1-pulse = step and direction ? 2-pulse = up-clock/down-clock ? see pulse on page 76 query/response inv? 0>inv? 0: inv= 0 0> example command description u>pulse 1 set pulse mode to step and direction u>inv1 set pulse logic to active low u>mc perform a continuous move
instruction set 57 vexta ? displays the input and output status io system control command execution mode immediate and program syntax io/ the data response is of the form: fe_dcb_a9_8765_4321 output #1 is the right-most bit. character/bit definitions are shown below. i/o bit status of: i/o bit status of: f clockwise limit 8 input #4 e counter clockwise limit 7 input #3 6 input #2 dhome limit 5 input #1 c timing signal input b encoder z channel 4 busy output 3 fault output a start input 2 output #2 9 stop input 1 output #1 range 0 = off; 1 = on description continuously displays the status of controller inputs and outputs. this data is updated every 0.2 seconds. query/response io? 0>io? 0: 00 000 00 0000 0001 0> interactions modified by: inv, tim, ol, out, in, ma, mi, mc, mgh example command description u>io/ turn on display loop for i/o - 00 000 00 0000 0001 display of results
SC8800/SC8800e operating manual 58 instruction set moves program control forward or backward in a sequence jmp program control element execution mode program syntax jmpxx range any valid line number that exists within the current sequence description moves program control unconditionally either forward or backward to another line within the current sequence. caution jmp should not be used to exit a sequence loop segment like if, while or loop under normal operation. exception : when the jmp simultaneously terminates a loop and the program. examples command description seq. 6: (1)d6000 mi perform an index move of 6000 steps (2)if(pc!=6000) check for step error (3)jmp7 jump to line #7 true (4) else if condition not true (5) mgh go home (6)endif end the if loop (7)end (8)sas error send error message to screen seq. 5: (1)d1000 mi (2)jmp 5 used as a debug tool in this case (3)d20000 mi (4)d30000 mi (5)end
instruction set 59 vexta ? moves program control to another sequence jmp_seq program control element execution mode program syntax jmp seqxx range any stored sequence description causes program control in the current sequence to move to another sequence. this newly invoked sequence is executed as the current sequence. note unlike the call command, when the newly invoked sequence is completed, it will not return to the previous sequence. all loop counters are reset when a jmp_seq command is issued. example command description seq. 9: (1) mi do an index move (2) jmp_seq test jump to sequence test
SC8800/SC8800e operating manual 60 instruction set allows sequence data to be entered remotely from the system keyboard kb program variable execution mode program syntax ? sas command is used to prompt for the entry value ? {w|x|y|z} = kb ? numeric values only ? pressing key with or without preceding values is interpreted as 0 ? pressing or with no preceding value is interpreted as 0 range ?kb = + 2,147,483,647, same as integer variables {w|x|y|z} ? decimal values are not valid and are discarded description the kb command permits sequences to have an interactive feature. values for integer variables can be entered from the system keyboard while the program is running. note the kb interactive property has an extended capability. information can be delivered to the controller from a touch screen, a plc or any external device that generates ascii characters via the rs-232c port. interactions introduced by: sas modifies: w, x, y, z examples command description (5) sas enter number of boxes: \0 prompt message asks user to enter desired number; \0 suppresses crlf at end of ascii string leaving the cursor on the same line containing the message (6) x=kb get input from serial port, assign it to x
instruction set 61 vexta ? sets software position limits lim motion variable execution mode immediate and program syntax lim x1 x2 the following conventions are used: ? x1 must be smaller than x2 ? x1 = minimum position ? x2 = maximum position units motor steps range + 2,147,483,647 description sets the software position limits based on the value of the internal position counter. the following conditions apply: ? software limits will not be used if x1 = x2 or x1 = x2 = 0 ? the value of these limits are related to the dscale function ? if a software limit is encountered, the motor will stop immediately and an error message will be returned to the screen. caution ensure that the limits are set appropriately. query/response lim?? 0>lim? 0: lim= -2500 4000 0 interactions modified by: dscale example command description u>lim -1000 6000 set software positions u>v5000 h- set motion parameters u>mc do a continuous move u>*software ccw limit error message
SC8800/SC8800e operating manual 62 instruction set displays the program lines of a sequence list editor command execution mode immediate syntax list {[x]|[sequence name]} standards for using list are: ? list followed by a sequence name will list that sequence ? list followed by nothing will display all stored sequences, similar to the dir command range any stored sequence description displays the program lines of a sequence. examples command description u>list test list sequence test u>list list all sequences currently stored in nvram memory
instruction set 63 vexta ? locks specified sequence lock editor command execution mode immediate syntax lock {[xx]|[sequence name]} range any available sequence description sets a lock bit on the specified sequence so that it cannot be altered or deleted. when a dir or list command displays the roster of stored sequences, all lock protected sequences will be marked with an asterisk (*). the unlock command disables the locked status of a sequence. interactions modified by: unlock example command description u>lock test lock sequence test u>edit test attempt to edit test u>** seq locked (not alterable) message
SC8800/SC8800e operating manual 64 instruction set repeats a series of program statements loop program control element execution mode program syntax loop n standards for using loop are: ? loop followed by a number n will repeat the segment n times ? loop followed by nothing will repeat the segment indefinitely with termination provided by: encountering an s or stop command or keystroke encountering an end of travel limit parameter and/or switch range 0 to 65,535 description repeats n times the list of statements placed between a loopn and an endl command. interactions modified by: endl example command description seq. 3: (1)loop10 repeat the program segment 10 times (2) h set direction to cw (3) d2000 set distance to 2000 steps (4) mi do an index move (5)endl end the first loop (6) loop loop indefinitely (7) h- change direction to ccw (8) mi do an index move (9)endl return to beginning of loop
instruction set 65 vexta ? performs move from one position to another based on position counter figure 19 speed/time profile for an absolute move ma motion command execution mode immediate and program syntax ma n range + 999,999,999 there are two valid ranges for n , one with increased precision. they are based on the status of the dscale parameter as shown below: dscale zero not zero range of n 999,999,999 + 999,999,999.xxx description performs a move index, mi, from the current position to a new position based on data from the position counter. the new position is determined by the absolute value of the parameter entered with the ma command. motor movement, both direction and distance, is determined by controller computation at the time of the move. figure 19 describes a typical absolute position move. interactions modified by: dscale, pc, ramp, t, ta, v, vs, vscale example command description seq. 7: (1) pc0 set position counter to zero (2) v3000 vs500 set velocity parameters (3) ma - 1250 move ccw 1250 steps td time direction and distance moved are determined by the controller ta vs v speed
SC8800/SC8800e operating manual 66 instruction set starts motor moving continuously based on current parameters mc motion command execution mode immediate and program syntax mc description starts motor moving continuously with the following logical standards: ? uses current motion parameters, vs, ta, td and v ? upon reaching velocity, v, motor will remain at this speed while the controller executes the next command in the buffer. ? if no buffer commands exist: motor continues to move at v controller monitors direct input instructions and executes them ? motion is terminated by direct input of any of the following instructions: pause s stop keystroke software limit end of travel limit the mc command is mode specific. rules for execution are as follows: mode execution flow immediate commands that follow mc are invoked when the next mc command is executed for the first time only program all commands that follow mc are immediately executed interactions modified by: h, ramp, t, ta, td, v, vs, vscale examples command description u>v3000 vs500 set parameters u>mc begin moving continuously u>v6000 set new velocity u>mc move at new velocity u>v4000 set new velocity and begin moving at the new rate
instruction set 67 vexta ? causes motor to move to home position limit switch. mgh motion command execution mode immediate and program syntax mgh description causes the controller to seek the home position limit switch from either direction, depending on the direction specified by the h command. ? home position is defined as the position of a mechanical home limit switch. ? encoder and position counters are reset to zero when the home limit switch is reached. to gain more accuracy, mgh can be used in conjunction with the tim timing signal and/or z channel signal of an encoder. diagrams which map the manner in which the system seeks the home position from various starting positions are shown in figure 20 on page 68. caution for the mgh motion to operate safely and correctly, the limit switches (ccw, home, cw) must be connected to the controller. injury or damage will occur if the limit switches are not connected. interactions modified by: h, ramp, t, ta, tim, td, v, vs, vscale modifies: ec, pc example command description u>v3000 vs500 set velocity parameters u>h- set direction to ccw u>mgh move motor shaft to the home position
SC8800/SC8800e operating manual 68 instruction set figure 20 home hunting motion for when the device is positioned between the homels and the cwls. motion for when the device is positioned between the ccwls and the homels. motion for when the device is positioned on the homels. motion for when the device is positioned on the ccwls. motion for when the device is positioned on the cwls. direction h+ direction h-
instruction set 69 vexta ? moves motor shaft a specified distance figure 21 speed/time profiles for (a) trapezoidal and (b) triangular index moves mi motion command execution mode immediate and program syntax mi moves the motor a distance established by the d parameter. the move is described as follows: 1. specify the distance to move with d parameter. 2. start moving initially at velocity vs. 3. accelerate for time ta. 4. run for period at velocity v. 5. decelerate for time td until reach vs velocity and stop. the trapezoidal speed/time plot for this type move is shown in (figure 21). if the specified distance is not large enough to allow the motor to reach the specified velocity, v, then a triangular speed/time plot is created. here the controller calculates v(peak). it begins deceleration as soon as v(peak) is attained. this is depicted in below in figure 21(b). interactions modified by: dscale, h, ramp, t, ta, tim, td, v, vs, vscale example command description seq. 12: (1)v3000 vs500 set velocity parameters (2)h- set direction to ccw (3)d18000 set distance to 18000 steps (4)mi begin the index move (5)sas finished echo that move is finished (a) trapezoidal move (a) trapezoidal move (b) triangular move
SC8800/SC8800e operating manual 70 instruction set specifies the number of pulses per motor revolution (SC8800e only) mr motion command variable execution mode immediate and program syntax mr n where n must be integer units number of steps per revolution range 1 to 999, 999 description specifies the number of pulses per revolution for the motor. the mr parameter must be used when the controller is configured with an encoder. without an encoder, mr is not valid. query/response mr? 0>mr? 0: mr = 5000 0> interactions modifies: cp modified by: er example command description seq. 20: (1)v3000 vs500 set velocity parameters (2)h- set direction to ccw (3)er2000 500 line per revolution; 4 x 500 = 2000 (4)mr500 set motor resolution to 500 steps/rev (5)d500 set distance to 1 revolution (6)mi motor moves 1 revolution
instruction set 71 vexta ? sets maximum amount of time for an index move mt motion variable execution mode immediate and program syntax mtxx.xxx units seconds range 0 to 64.99 description sets the maximum time allowed for index moves. v and t are calculated and then executed. notes mt is valid under two conditions: ? must be used with index move, the mi command ? mt can not equal zero when mt is valid, the following rules apply for internal calculations: ? maximum speed is set to 800,000 steps/second ? ramp times, ta and td, are forced to be symmetrical ? motion variables d and vs are used with mt to determine acceleration time, deceleration time and final velocity for the three types of ramp profiles, these conditions apply: profile no. of segments segment definition ramp0 (linear) 3 3 equal times: t1=t2=t3=1/3rd mt ramp1(s-curve) 3 t1=t3= time for acceleration and deceleration ramp2 (parabolic) 2 2 equal times: t1 = t2 =1/2 mt t1 = t2 = time for acceleration and deceleration see ramp command on 78 for drawings of the ramp profiles. query/response mt? 0>mt? 0: mt= 1.25 0> interactions modifies : t, ta, td, v, vscale, dscale, r example command description u>d20000 set distance to 20000 steps u>mt0.8 set move time to 0.8 seconds u>mi move 20000 steps in 0.8 seconds
SC8800/SC8800e operating manual 72 instruction set inverts the output levels ol system control command execution mode immediate and program syntax range 0 = non-inverted (default condition) 1 = inverted description inverts the output levels of the three programmable outputs and the busy output signal. the status of ol is stored in the nonvolatile memory. query/response ol? 0>ol? 0: ol= 0101 0> example command description u>ol1010 invert the busy and out#2 signals olb321 b = busy out p ut output #1 output #2 output #3 / fault
instruction set 73 vexta ? turns the three programmable outputs on and off out system control command execution mode immediate and program syntax the out statement has two forms: out n =x single set bit separately outxxx global set all bits simultaneously outputs are defined as follows: range x = 1 to 3 n defined by 0 = off; 1 = on caution out3 is intended to be a system status output. if out3 is designated for some application function, the user will not be aware of a fault condition. description turns the three programmable outputs on and off in either an individual or global manner. query/response out? 0>out? 0: out= 000 0> example command description seq. 13: (1)v3000 vs500 h- set parameters (2)mi do an index move (3)delay 2 delay 2 seconds (4)out=011 turn on outputs 1 and 2 (5)delay 3 wait 3 seconds (6)out3=1 turn on output 3 out321 output #1 output #2 output #3 / fault
SC8800/SC8800e operating manual 74 instruction set discontinues current motion or program pause motion command execution mode immediate and program syntax pause description discontinues the current motion or program by decelerating the motor to a stop. paused programs are restarted under the following rules: ? within a sequence at the next instruction by issuing the cont(inue) command ? at the beginning of a program by issuing the run command example command description seq. 14: (1) d20000 set distance to 20000 steps (2) if(in1=1) pause if input #1 is on, pause (3) else mgh otherwise, go home u> cont continue the program
instruction set 75 vexta ? sets the internal position counter pc system variable execution mode immediate and program syntax pc integer units number of steps range + 999,999,999 description sets the internal position counter to the desired value. query/response pc? 0>pc? 0: pc+ 146239 0> interactions modifies: cp modified by: dscale example command description u>pc0 set the position counter to 0 u>ma -25000 move 25000 steps ccw direction u>pc? check position counter value u:pc -25000 displays the current value of pc
SC8800/SC8800e operating manual 76 instruction set sets the type of pulses delivered by the controller to the motor driver pulse system variable execution mode immediate and program syntax pulse {1|2} range 1 = 1-pulse mode; also referred to as step and direction mode. 2 = 2-pulse mode; also referred to as up-clock/down clock mode. description sets the type of pulses sent by controller to the motor driver. ? 1-pulse (step and direction): the direction (cw/ccw) input being held high or low, causes the motor to rotate cw or ccw when pulses are received at the pulse terminal. to avoid missed steps, the pulse signal must be inactive when changing the direction (cw/ccw) signal. ? 2-pulse (up-clock/down-clock): the motor will rotate in the cw direction when a step signal is received at the pulse terminals and will rotate in the ccw direction when a step signal is received at the cw/ccw terminals. to avoid missed steps, the two step signals must not be active simultaneously. mode direction driver connections direction terminals pulse terminals 1-pulse (step and direction) cw high step signal ccw low step signal 2-pulse (up-clock/down-clock) cw no signal step signal ccw step signal no signal caution in 1-pulse mode, pulse signal must be inactive when changing direction signal. in 2-pulse mode, step signals must not be active at the same time. example command description u>pulse2 use 2-pulse output mode u>mgh move to home position
instruction set 77 vexta ? shows current values of system status, system parameters and i/o states r system control command execution mode immediate and program syntax r description displays the current values of system status, system parameters and i/o states. example command description u>r report system status o>r hardware status cwl= 0 ccwl= 0 home= 0 tim= 01 start= 0 stop= 0 prog.inputs= 0000 prog.outputs= 000 pulse mode= 1 motion parameters: vs= 5 v= 100000 vscale= 0 ta= 1.0 td= 1.0 mt= 0.0 h(dir)= + d= 100000 dscale= 0 mr= 5000 er= 2000 ramp= 0 tim= 01 lim= 0 0 position: pc= 149185 ec= 320964 system status: busy 0>
SC8800/SC8800e operating manual 78 instruction set specifies type of acceleration and deceleration ramp figure 22 linear, parabolic and s-curve ramps a figure 23 segment definition ramp motion variable execution mode immediate and program syntax ramp n range 0 to 2 where ramp type is defined as: 0 = linear 1 = s-curve 2 = parabolic description specifies the type of acceleration and deceleration ramp to use during motion. three ramp types are available. the ramp value is stored in nonvolatile memory (figure 22). query/response ramp? 0>ramp? 0: ramp= 0 0> interactions modified by: t, ta, td, v, vs, vscale modifies: mt (see figure 23 and refer to page 71.) example command description u>ramp1 set ramp type to s-curve u>mi execute an index move u>ramp0 set ramp type to linear u>mgh go home linear pps v vs parabolic v vs time s-curve pps v vs time pps time t1 t2 t3
instruction set 79 vexta ? allows for insertion of program comment rem program control element execution mode immediate and program syntax two forms are valid: ? rem [ascii string] ? #[ascii string] units ascii character range ascii string: {a to z, 0 to 9} description allows the programmer to insert comments into the program code to more clearly describe and explain the program logic. the following rules apply: ? program lines that begin with rem or # are not executable. ? commented lines are shown when a program is displayed via list command. example command description seq. 3: (1)rem set parameters insert comment (2)h- set direction to ccw (3)mgh go home (4)# reset counters comment the program (5)pco eco reset counter values
SC8800/SC8800e operating manual 80 instruction set allows software to perform a system reset reset system control command execution mode immediate and program syntax reset description executes a system reset via software note there are two equally valid ways to reset the controller: ? power cycle the hardware by turning the power off and then on ? issue a reset command ? only unit 0 will return a sign on banner. all other id values will perform the hardware reset, but not return the sign on banner. interactions modified by: id example command description u>reset reset the unit SC8800(e) programmable indexer software version 3.0 copyright 1995-1999 oriental motor u.s.a. corporation torrance, california ** * * * * ** * * * * * * * * * * ** * * * * ** * ** * * * * ** * * * * * * * * * * ** * * * * ** * * * * * * * * * * * * *
instruction set 81 vexta ? allows program control to revert to the main sequence ret program control element execution mode program syntax ret description allows program control to revert to the main sequence from a subroutine. it is not required, but provided for readability only. interactions modified by: call example command description seq. main (1) pc0 set the position counter to zero (2) mi do an index move (3) call test execute sequence named test (4) sas im back echo return to original sequence seq. test: (1) out1=1 turn on output #1 (2) delay2 delay 2 seconds (3) out1=0 turn off output #1 (4) ret return to main sequence
SC8800/SC8800e operating manual 82 instruction set executes any stored sequence run system control command execution mode immediate syntax runxx{sequence name} range xx can be from 0 to 49 description executes any stored sequence. example command description u>run test run the program test u>run33 run program designated as sequence 33
instruction set 83 vexta ? terminates motion immediately using current deceleration rate parameters s motion command execution mode immediate and program syntax s description terminates movement by decelerating the motor at the rate determined by parameters t or td. interactions modified by: t, td, mt example command description u>mc move continuously u>s decelerate and stop
SC8800/SC8800e operating manual 84 instruction set directs an ascii string to the terminal screen sas program control element execution mode program syntax sas[ascii string] optional {\code} units ascii character range ascii string: = {a to z, 0 to 9} optional \code = 0, w, x, y, z description directs an ascii string followed by a carriage return to the terminal screen. if no ascii string is supplied, only the carriage return is sent. the optional \code qualifier has 2 applications: ? when \ 0 is placed at the end of the ascii string, the carriage return is suppressed. this format is used when requesting a keyboard entry into a running program. ? the \{w, x, y, z} is used to imbed the current value of a program variable anywhere in the sas line. example command description seq. 4 (1) v3000 vs500 set velocity parameters (2) h- set direction to ccw (3) d9000 set distance to 9000 steps (4) sas begin motion send string begin motion to display (5) mi execute an index move (6) sas end of move send string end of move to display seq. 5 (1) sas enter number of cans: \0 prompt for keyboard input, suppress cr (2) y = kb ... set y = to value entered (9) sas there are \x boxes to go string reports how many units are left
instruction set 85 vexta ? terminates motion immediately without deceleration stop motion command execution mode immediate and program syntax stop description stops the motor immediately without the use of any deceleration. caution the motor may lose steps when stopped in this manner. example command description u>mc move continuously u>stop stop immediately
SC8800/SC8800e operating manual 86 instruction set displays the total operating time and the number of resets sys system control command execution mode immediate and program syntax sys description displays the total system operating time and the number of system resets. interactions modified by: clear_nvr example command description u>sys display system operating times 0>sys decelerate and stop 0: total operating time (hr:min)=35:53 0: total resets= 53 0>
instruction set 87 vexta ? specifies the amount of time for acceleration and deceleration t motion variable execution mode immediate and program syntax t number units seconds range 0.001 to 64.999 description specifies the amount of time used for both acceleration and deceleration when executing the move commands: ma, mc, mgh and mi. setting the variable t results in variables ta and td being equal. query/response t? 0>t? 0: ta = 1.2 td = 1.2 0> interactions modifies: ma, mc, mgh, mi modified by: mt example command description seq. 17: (1) pco set the position counter to zero (2) t2 set accel & decel time parameter to 2 seconds (3) vs500 v5000 set velocity parameters (4) d15000 set distance to 15000 steps (5) mi execute an index move
SC8800/SC8800e operating manual 88 instruction set specifies the amount of acceleration time ta motion variable execution mode immediate and program syntax ta number units seconds range 0.001 to 64.99 description specifies the amount of time used for acceleration when executing the move commands: ma, mc, mgh and mi interactions modifies: ma, mc, mgh, mi modified by: mt example command description seq. 12: (1) pco set the position counter to zero (2) ta2 set acceleration to 2 seconds (3) td2.3 set deceleration time to 2.3 seconds (4) vs500 v5000 set velocity parameters (5) d15000 set distance to 15000 steps (6) mi execute an index move
instruction set 89 vexta ? makes logical connection to unit in a multiple unit configuration talk system control command execution mode immediate syntax talk{u} range u = {0 to 9, a to z} description makes logical connection to a specific unit in a multiple unit, e.g. daisy chain configuration. then the specific unit can be uniquely addressed and programmed. if the unit id is anything other than 0, the unit will not operate properly unless the proper talk command is issued. interactions modified by: id, reset example command description 1>mgh unit 1 go home 1>talkc talk to unit c c>mgh unit c go home
SC8800/SC8800e operating manual 90 instruction set specifies the amount of deceleration time td motion variable execution mode immediate and program syntax td number units seconds range 0.001 to 64.99 description specifies the amount of time used for deceleration when executing the move commands: ma, mc, mgh and mi interactions modifies: ma, mc, mgh, mi modified by: mt example command description seq. 12: (1) pco set the position counter to zero (2) ta2 set acceleration to 2 seconds (3) td2.3 set deceleration time to 2.3 seconds (4) vs500 v5000 set velocity parameters (5) d15000 set distance to 15000 steps (6) mi execute an index move
instruction set 91 vexta ? specifies which signals should be used when executing an mgh move tim motion variable execution mode immediate and program syntax range 0 = disable 1 = enable description specifies if the driver timing output signal and/or encoder "z" channel output are used when executing the mgh move. note to achieve a more accurate home position when executing the mgh command, the tim command enables the logical combination of timing and/or "z" signals. query/response tim? 0>tim? 0: tim = 01 0> interactions modifies: mgh example command description u>tim10 use the timing signal in mgh move u>mgh go home timtz z= encoder "z" channel t= timing signal
SC8800/SC8800e operating manual 92 instruction set displays the list of instructions as they are being executed tr editor command execution mode immediate and program syntax tr n range 0 = trace off 1 = trace on description displays the list of instructions within a sequence as they are being executed. this is used for debugging purposes. example command description u>tr1 turn trace mode on u>run test run test program
instruction set 93 vexta ? resets access to previously locked sequence unlock editor command execution mode immediate syntax unlock {[xx]}|[sequence name]} range any available sequence description resets the lock bit on a specified sequence so that it can be altered or deleted. once the sequence is unlocked, the indicator asterisk is removed from the sequence name when a dir or list command is issued. interactions modifies: lock example command description u> lock test lock sequence test u> edit test attempt to edit test u>**seq locked (not alterable) message u> unlock test unlock the sequence
SC8800/SC8800e operating manual 94 instruction set specifies the run velocity v motion variable execution mode immediate and program syntax v number units pulses per second range 1 to 800,000 description specifies the velocity to use when executing move commands: ma, mc, mgh and mi all moves start at the value of vs and then accelerate to v at the rate set by parameters t or ta. query/response v? 0>v? 0: v= 30000 0> interactions modifies: ma, mc, mgh, mi modified by: vscale, mt example command description seq. 5 (1) v3000 vs500 set velocity parameters (2) h- set direction to ccw (3) d9000 set distance to 9000 steps (4) sas begin motion send string begin motion to display (5) mi execute an index move (6) sas end of move send string end of move to display
instruction set 95 vexta ? specifies the starting velocity vs motion variable execution mode immediate and program syntax vs number units pulses per second range 1 to 800,000 description specifies the initial velocity when executing move commands: ma, mc, mgh and mi all moves start at the value of vs and then accelerate to v at the rate set by parameters t or ta. query/response vs? 0>vs? 0: vs= 500 0> interactions modifies: ma, mc, mgh, mi modified by vscale example command description seq. 5 (1) v3000 vs500 set velocity parameters (2) h- set direction to ccw (3) d9000 set distance to 9000 steps (4) sas begin motion send string begin motion to display (5) mi execute an index move (6) sas end of move send string end of move to display
SC8800/SC8800e operating manual 96 instruction set defines a velocity scaling factor for use with motion commands vscale motion variable execution mode immediate and program syntax vscale number units pulses per second (or as redefined by vscale) range 0 to 2,147,483,647 description modifies the velocity parameter v by a specified factor. the value of vscale can be used to represent important application parameters like revolutions per minute or steps per hour. note the controller calculates actual velocity by the following equation: v (steps/sec) = v (input) * vscale query/response vscale? 0>vscale? 0: vscale= 0 0> interactions modifies: ma, mc, mgh, mi, mt, v example command description u>vscale500 set vscale = 500 pulses per second u>v1 set velocity to 1 revolution per second u>mc motor will move at 1 revolution per second
instruction set 97 vexta ? initiates conditional testing for a looping program segment while program control element execution mode program syntax while (variable 1 {conditional operator} variable 2 or constant) description provides for conditional looping using the following rules: ? an endw statement must complete the while loop. ? all instructions between while and endw are repeated until the condition of the while statement becomes false. ? while and endw loops may be nested up to 4 times. = equal to != not equal to < less than <= less than or equal to > greater than >= greater than or equal to valid variable elements are: in 4 programmable input bits (condition must always be = or !=) pc position counter value ec encoder counter value cp compare encoder and position counter values vvelocity d distance w, x, y, z general purpose variables interactions modified by: endw example command description seq. 9: (1) while (pc<25000) while position counter is less than 25000 (2) sas motor ok echo a message (3) mc move continuously (4) endw end the while loop (5) mgh go home
SC8800/SC8800e operating manual 98 instruction set program variables w, x, y, z motion variable execution mode program syntax {w|x|y|z} = xxxx or kb decimal values are not valid kb refers to keyboard entry during a running program range {w|x|y|z} = + 2, 147, 483, 647 description there are two forms of program variables, integer and fixed point. both forms can be extended in their operation by using the keyboard entry facility. integer program variables are: w, x, y and z they are used in sequences as: ? loop counters ? statement values ? parts of mathematical expressions query/response w?, x?, y?, z? 0>w?, x?, y?, z? 0: w = 0 0: x = 1000000 0: y = 8000000 0: z = 0 0> example command description seq. 4 (1)x=1 y=pc-x set x and y values (2)while (x<20) begin while loop (3) d500 mi do a 500 step move (4) x=x+1 increment the loop counter (5) endw end while segment
instruction set 99 vexta ? displays preceding parameter continuously / motion variable execution mode immediate and program syntax pc/ ec/ cp/ v/ io/ description a forward slash character (/) following certain variables causes the system to continuously display the value of those elements utilizing these rules: ? the five variables designated for continuous display are: pc, ec, cp, v, io ? up to four may be displayed simultaneously ? this data is updated every 0.2 seconds ? keyboard inputs or terminates the display loop ? within a sequence, the clr command turns off the display loop ? regardless of order entry, variables are displayed in the following order: 1. pc = position counter value 2. ec = encoder position counter value 3. cp = check position counter value against encoder counter value 4. v = velocity 5. io = input/output status caution do not confuse this special command with the division operator. example command description u>d2000 set distance to 2000 steps u>pc/v/ display position counter and velocity u>mi execute an index move
SC8800/SC8800e operating manual 100 instruction set global command indicator \ keystroke command execution mode immediate syntax \{command} range all valid commands description the backslash character (\) preceding a command causes the system to issue that command to all controllers in a daisy chain configuration. this global designation overrides id and talk commands that are directed to individual units. interactions modifies: id, talk example command description u>talk 2 talk to unit #2 2>mi unit #2 execute and index move 2>\mgh all units go home
instruction set 101 vexta ? backspace (destructive backspace) keystroke command execution mode immediate syntax description pressing the key causes the system to perform a destructive backspace in the system buffer. it is assumed that the terminal, when receiving this character, will do the same. thus, the terminal and system buffer will contain the same data.
SC8800/SC8800e operating manual 102 instruction set commands system to accept current line keystroke command execution mode immediate syntax description pressing the key completes the data input for the current line and causes the system to accept the information on the line. note not all terminals or communication packages have a single key/character facility. the system will accept the following keystrokes as equivalent to :
instruction set 103 vexta ? discards current line keystroke command execution mode immediate syntax description the key has two meanings: ? when entering data from the keyboard, pressing causes the information on the current line to be discarded. ? when a motion command is being executed, pressing immediately causes the motor to stop. current deceleration parameters are invoked. example command description u>eco set encoder to zero u>d2000 set distance parameter to 2000 steps u>v500 discard this line u>mc perform a continuous move u> decelerate and stop the move
SC8800/SC8800e operating manual 104 instruction set
105 vexta ? appendix a quick start guide this guide enables you to connect and test the SC8800/SC8800e controller in a basic stepping motor system. refer to the other sections in this operating manual for specific information. check that you have the following items: caution ? to ensure your safety and to prevent any equipment damage, observe all wiring conventions and environmental precautions. see page 6. ? carefully observe all dc voltage polarities. see page 5. ? do not apply power to any system components until step number 7 below. SC8800/SC8800e components customer furnished components ? SC8800/SC8800e controller ? dual ended serial cable ? d37 connector and housing ? operating manual ? stepping motor ? stepping motor driver ? terminal or pc with communications software such as procomm or windows terminal ? power source #1: 10 to 28 vdc; 3 watts max. ? power source #2: applicable for motor/driver 1. connect controllers output terminals, +p/cw, -p/cw, +d/ccw and -d/ccw to the step and direction inputs of the motor/driver. details: page 5. 2. connect the stepping motor lead wires to the appropriate terminals of the motor/driver. details: page 3. 3. connect power source #1 to the controllers power input terminals. details: page 5. 4. connect power source #2 to the proper input terminals on the motor/driver. details: page 3 5. connect the 9 pin male end of the cable supplied into cn-1 of the controller. connect either the 9-pin or 25-pin end of the cable into the rs-232c serial port of your computer or terminal. details: page 7. 6. start your communications program. set the communications parameters to the following: 7. turn on the power to the SC8800/SC8800e. a sign on banner and a prompt will appear on the screen. 8. turn on the power to the motor/driver. 9. type r to view the current values of the motion parameters. change any parameters needed and type mi . the motor should execute a move representing the values that were input. details: page 17. 10. type help to learn about the other available commands. details: page 50. baud rate = 9600 parity = no data bits = 8 full duplex stop bit = 1 handshake = no
SC8800/SC8800e operating manual 106 appendix b specifications parameter value general part number SC8800, SC8800e, (e = encoder interface option) input power voltage 10 to 28 vdc 3.0 watts max. performance stepping accuracy + 0 steps from preset total velocity accuracy + 0.05% of preset rate velocity repeatability + 0.01% of maximum rate position range 0 to + 999,999,999 steps, when dscale is active velocity range 1 to 800,000 steps/sec acceleration rate 0.001 to 10 sec motion types absolute move to specified internal counter position index move specified distance continuous move specified speed until commanded to stop go home move to home limit switch move time move specified distance in specified time sequence execution via rs-232c sequence may be executed from rs-232c interface with run command via power-up auto run execute any sequence, 0~15, upon power-up via programmable input sequences may be selected using an external device programming language simple, high level programming language nonvolatile memory sequence length 8 kb or up to available remaining memory number of programs 50 max. or up to available memory
107 vexta ? specifications (cont.) parameter value inputs command interface type rs-232c serial type, three wire implementation (tx, rx, gnd) parameters baud rate fixed at 9600, 8 data bits, 1 stop bit, no parity configuration 35 units max. can be controlled by a single port of daisy chain configuration. cw, ccw, home limits +5 to +30 vdc, optically isolated, max. current 10 ma programmable inputs four to be used for machine interaction and/or sequence selection, +5 to +30 vdc, optically isolated max. current, 10 ma tim phase 0 indicator, +5 to +30 vdc, optically isolated encoder model SC8800e accepts 2 or 3 channel, two phase quadrature incremental encoders with differential or single ended outputs, 5 vdc ttl compatible, 400 khz (quadrature), max. outputs step and direction, motion programmable outputs status outputs ttl, high 4 to 5 vdc, low 0 to 0.5 vdc, pulse width 0.5 m sec min., rise/fall time: 0.2 m sec max. two, open collector, 5 to 24 vdc, 80 ma max. fault & busy, open collector, 5 to 24 vdc, 80 ma max. mechanical dimensions i/o connectors 3.35" l x 1.57 w x 4.72 h combination of fixed screw terminal and d-type environmental cooling method ambient temperature range humidity weight natural convection +32 f ~ +122 f (0 c ~ +50 c) 0 to 95% noncondensing 11 oz. (0.31 kg)
SC8800/SC8800e operating manual 108 appendix c dimensions dimensions: units = mm (inches)
109 vexta ? dimensions (continued): units = mm (inches)
SC8800/SC8800e operating manual 110 appendix d trademarks windows is a registered trademark of microsoft corporation. procomm is a registered trademark of procomm telecommunications, inc.
111 vexta ? appendix e transferring sequences sometimes it may be necessary or convenient to transfer programs stored in one SC8800/SC8800e to another. oriental motor offers a software solution for this function. this function may be useful when building several identical machines. to receive a free copy of this software, please contact oriental motor technical support at: phone: 1-800-468-3982 email: techsupport@orientalmotor.com
SC8800/SC8800e operating manual 112 appendix f default values listed below are the default values for the system parameters and i/o states. these values will be reset whenever a clear_nvr command is issued. hardware status cwl= 0 ccwl= 0 home= 0 tim= 0o start= 0 stop= 0 prog.inputs= 0000 prog.outputs= 000 pulse mode= 2 motion parameters: vs= 5 v= 10 vscale= 0 ta= 0.5 td= 0.5 mt= 0.0 h(dir)= + d= 0 dscale= 0 mr= 0 er= 0 ramp= 0 tim= 00 lim= 0.0 position: pc= 0 ec= 0 system status: idle

technical support line t el : 1-800-468-3982 8:30 am to 8:00 pm est email: techsupport@orientalmotor.com atlanta: t el : (770) 716-2800 f ax : (770) 716-8515 austin: t el : (512) 918-9438 f ax : (512) 335-5983 boston: t el : (781) 848-2426 f ax : (781) 848-2617 chicago: t el : (847) 240-2649 f ax : (847) 240-2753 cincinnati: t el : (513) 563-2722 f ax : (513) 956-3183 los angeles: t el : (310) 784-8200 f ax : (310) 325-1076 new jersey: t el : (973) 882-0480 f ax : (973) 740-0693 san jose: t el : (408) 358-6900 f ax : (408) 358-8200 canada: t el : (513) 563-2722 f ax : (513) 956-3183 technical support line t el : 1-800-468-3982 8:30 am to 8:00 pm est email: techsupport@orientalmotor.com atlanta: t el : (770) 716-2800 f ax : (770) 716-8515 austin: t el : (512) 918-9438 f ax : (512) 335-5983 boston: t el : (781) 848-2426 f ax : (781) 848-2617 chicago: t el : (847) 240-2649 f ax : (847) 240-2753 cincinnati: t el : (513) 563-2722 f ax : (513) 956-3183 los angeles: t el : (310) 784-8200 f ax : (310) 325-1076 new jersey: t el : (973) 882-0480 f ax : (973) 740-0693 san jose: t el : (408) 358-6900 f ax : (408) 358-8200 canada: t el : (513) 563-2722 f ax : (513) 956-3183


▲Up To Search▲   

 
Price & Availability of SC8800

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X